The generation of color documents can be thought of as a two step process: first, the generation of the image by means of scanning an original document with a color image input terminal or scanner or, alternatively, creating a color image on a work station operated in accordance with a color image creation program; and secondly, printing of that image with a color printer in accordance with the colors defined by the scanner or computer generated image. Scanner output is commonly transformed to a color space of tristimulus values, i.e., RGB (red-green-blue). Commonly, these values are a linear transformation of the standard XYZ coordinates of CIE color space, or a corrected transform of those values. In the case of computer generated images, colors defined by the user at the user interface of a workstation can be defined initially in color space of tristimulus values. These colors are defined independently of any particular device, and accordingly reference is made to the information as being "device independent".
Printers commonly have an output which can be defined as existing in a color space called CMYK (cyan-magenta-yellow-key or black) which is uniquely defined for the printer by its capabilities and colorants. Printers operate by the addition of multiple layers of ink or colorant in layers to a page. The response of the printer tends to be relatively non-linear. These colors are defined for a particular device, and accordingly reference is made to the information as being "device dependent". Thus, while a printer receives information in a device independent color space, it must convert that information to print in a device dependent color space, which reflects the gamut or possible range of colors of the printer. Printers may print with colors beyond CMYK, for a variety of special purposes or to extend the device gamut.
The desirability of operating in a device independent color space with subsequent conversion to a device dependent color space is well known, as shown by U.S. Pat. No. 4,500,919 to Schreiber and U.S. Pat. No. 2,790,844 to Neugebauer, and U.S. Pat. No. 4,275,413 to Sakamoto. There are many methods of conversion between color spaces, all of which begin with the measurement of printer response to certain input values. Commonly, a printer is driven with a set of input values reflecting color samples throughout the printer gamut, the color samples are printed in normal operation of the printer. As previously noted, most printers have non-linear response characteristics.
In U.S. Pat. No. 4,275,413 to Sakamoto, the information derived is placed into look up tables, stored in a memory, perhaps ROM memory or RAM memory where the look up table relates input color space to output color space. The look up table is commonly a three dimensional table since color is defined with three variables. In RGB space, at a scanner or computer, space can be defined as three dimensional with black at the origin of a three dimensional coordinate system 0, 0, 0, and white at the maximum of a three dimensional coordinate system which an 8-bit system, would be located at 255, 255, 255. Each of the three axes radiating from the origin point therefore respectively define red, green, and blue. In the 8-bit system suggested, there will be, however, over 16 million possible colors (256.sup.3). There are clearly too many values for a 1:1 mapping of RGB to CMY. Therefore, the look up tables consist of a set of values which could be said to be the intersections for corners of a set of cubes mounted on top of one another. Colors falling within each cubic volume can be interpolated from the measured values, through many methods including tri-linear interpolation, tetrahedral interpolation, polynomial interpolation, linear interpolation, and any other interpolation method depending on the desired accuracy of the result.
It would be very easy to index device dependent color values or specifications to device independent color specifications, but that is not the requirement. Instead, device independent specifications must be mapped to device dependent specifications. Several problems arise. Of course, the primary problem is that the printer response is not a linear response. A second problem is that the color space, and therefore the coordinates defined in the color space must be maintained as a uniform grid for maximum efficiency of some interpolation methods.
Accordingly, a multi-dimensional look up table (LUT) may be constructed which puts device independent input values into a predictable grid pattern. One method of accomplishing this requirement is by an interpolation process which derives a value at a desired location as a function of all (or a significant set) of measured color values. This method of interpolation is known as Shepard's Method (see, for example "Shepard's Method of `Metric Interpolation` to Bivariate and Multivariate Interpolation" by W. Gordon and J. Wixom, Mathematics of Computation, Vol. 32, No. 141, January 1978, pp. 253-264). Shepard's Method suggests that a vector can be thought of as defining the difference between an asked-for color which was directed to a printer in the printed color. Then, for any other point in color space which is desired, that point can be thought of as a vector quantity, derived by averaging over the space all the vectors, each vector weighted by a function which decreases its effect on the vector as that vector is further and further away from the point coloring question. In one useful formula, each vector is weighted by a function of 1.sub./d 4.
Alternatively the method of Po-Chieh Hung, "Colorimetric Calibration for Scanners and Media", SPIE, Vol. 1448, Camera and Input Scanner System, (1991), describes a method of inverse tetrahedral interpolation, to the same effect as the described Shepard's Method.
In one actual calibration test, it was noted that the weighted averaging technique produced a table which gave good color reproduction in one region of color space (the light colors), but not in another (the dark colors). The tetrahedral inversion technique was just the complement of this, i.e., it gave good color reproduction where the weighted average technique did not (the dark colors), and gave poorer color reproduction of colors where the weighted average technique gave good color reproduction (the light colors).
Similar to the above problem, it has been noted that often, after a change in process parameters due to time, change of materials, refilling toner, etc., a change in calibration is required only in a portion of the overall color gamut of a printer. Recalibration of the entire space is costly in terms of processing time. It would be desirable to only recalibrate a portion of the color space, or alternatively, to use the best portions of the color space mapping.
The references cited herein are incorporated by reference for their teachings.